package Easy.LinkedList;

//给定一个已排序的链表的头
// head ， 删除所有重复的元素，使每个元素只出现一次 。返回 已排序的链表 。
//
// 示例 1：
//输入：head = [1,1,2]
//输出：[1,2]
//
// 示例 2：
//输入：head = [1,1,2,3,3]
//输出：[1,2,3]
//
// 提示：
// 链表中节点数目在范围 [0, 300] 内
// -100 <= Node.val <= 100
// 题目数据保证链表已经按升序 排列


public class DeleteDuplicates {
    public static class ListNode {
        int val;
        ListNode next;
        ListNode() {}
        ListNode(int val) { this.val = val; }
        ListNode(int val, ListNode next) { this.val = val; this.next = next; }
    }

    public ListNode deleteDuplicates(ListNode head) {
        ListNode current = head;
        while (current != null && current.next != null) {
            if (current.val == current.next.val) {
                // 删除重复节点
                current.next = current.next.next;
            } else {
                current = current.next;
            }
        }
        return head;
    }
}
